\hypertarget{structnih_1_1_vector}{
\section{nih\-:\-:\-Vector$<$ \-T, \-D\-I\-M $>$ \-Struct \-Template \-Reference}
\label{structnih_1_1_vector}\index{nih\-::\-Vector$<$ T, D\-I\-M $>$@{nih\-::\-Vector$<$ T, D\-I\-M $>$}}
}


{\ttfamily \#include $<$vector.\-h$>$}

\subsection*{\-Public \-Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_vector_a75ba24bd1681ba209464cd764dafa4b4}{
typedef \-T {\bfseries value\-\_\-type}}
\label{structnih_1_1_vector_a75ba24bd1681ba209464cd764dafa4b4}

\item 
\hypertarget{structnih_1_1_vector_ac859574cf9880a20ea7a474a22c8514d}{
typedef \-T {\bfseries \-Field\-\_\-type}}
\label{structnih_1_1_vector_ac859574cf9880a20ea7a474a22c8514d}

\end{DoxyCompactItemize}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_af5110044ef547d0f5bc45a41bf6f969f}{\-Vector} ()
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_a3129b3fa855de8ba4df656ea0bb72749}{\-Vector} (const \-T v)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_adbcc5ccb3416111f772f270d47b31286}{\-Vector} (const \-T $\ast$v)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_a6ffcf2ddc48e3b7f6386a8fdef1fb1f5}{\-Vector} (const \hyperlink{structnih_1_1_vector}{\-Vector}$<$ \-T, \-D\-I\-M-\/1 $>$ \&v, const \-T w)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \*
\-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector}{\-Vector} \& \hyperlink{structnih_1_1_vector_aa0d83cd139256485ae8f163d04386efc}{operator=} (const \hyperlink{structnih_1_1_vector}{\-Vector} \&v)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \*
\-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E const \-T \& \hyperlink{structnih_1_1_vector_a96ed0e3cfa2e5a9985474673e4e8ac32}{operator\mbox{[}$\,$\mbox{]}} (const size\-\_\-t i) const 
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \*
\-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \-T \& \hyperlink{structnih_1_1_vector_a6d5b57f8fead0871a221d43d5e44f5d4}{operator\mbox{[}$\,$\mbox{]}} (const size\-\_\-t i)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E size\-\_\-t \hyperlink{structnih_1_1_vector_acc8500e147b270f614715c49b04e333b}{dimension} () const 
\item 
\hypertarget{structnih_1_1_vector_a46214e7d2368173ed373e5f366737e28}{
void {\bfseries resize} (const size\-\_\-t n)}
\label{structnih_1_1_vector_a46214e7d2368173ed373e5f366737e28}

\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_vector_a810f03d87064e81f7836bb149fe1f4d3}{
\-T {\bfseries x} \mbox{[}\-D\-I\-M\mbox{]}}
\label{structnih_1_1_vector_a810f03d87064e81f7836bb149fe1f4d3}

\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_vector_a5390e172ebc4e60c329c6ac95c603286}{
static const size\-\_\-t {\bfseries k\-Dimension} = \-D\-I\-M}
\label{structnih_1_1_vector_a5390e172ebc4e60c329c6ac95c603286}

\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\subsubsection*{template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$struct nih\-::\-Vector$<$ T, D\-I\-M $>$}

\-Abstract linear algebra vector class, templated over type and dimension 

\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{structnih_1_1_vector_af5110044ef547d0f5bc45a41bf6f969f}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_af5110044ef547d0f5bc45a41bf6f969f}
empty constructor \hypertarget{structnih_1_1_vector_a3129b3fa855de8ba4df656ea0bb72749}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
\item[{const \-T}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, explicit\mbox{]}}}}
\label{structnih_1_1_vector_a3129b3fa855de8ba4df656ea0bb72749}
copy constructor


\begin{DoxyParams}{\-Parameters}
{\em v} & input vector \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_adbcc5ccb3416111f772f270d47b31286}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
\item[{const \-T $\ast$}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, explicit\mbox{]}}}}
\label{structnih_1_1_vector_adbcc5ccb3416111f772f270d47b31286}
copy constructor


\begin{DoxyParams}{\-Parameters}
{\em v} & input array \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_a6ffcf2ddc48e3b7f6386a8fdef1fb1f5}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
\item[{const {\bf \-Vector}$<$ \-T, \-D\-I\-M-\/1 $>$ \&}]{v, }
\item[{const \-T}]{w}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_a6ffcf2ddc48e3b7f6386a8fdef1fb1f5}
constructor


\begin{DoxyParams}{\-Parameters}
{\em v} & input \-D\-I\-M-\/1 vector \\
\hline
{\em w} & last component \\
\hline
\end{DoxyParams}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{structnih_1_1_vector_acc8500e147b270f614715c49b04e333b}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!dimension@{dimension}}
\index{dimension@{dimension}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E size\-\_\-t {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::dimension (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_acc8500e147b270f614715c49b04e333b}
vector dimension \hypertarget{structnih_1_1_vector_aa0d83cd139256485ae8f163d04386efc}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!operator=@{operator=}}
\index{operator=@{operator=}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf \-Vector}\& {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-Vector}$<$ \-T, \-D\-I\-M $>$ \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_aa0d83cd139256485ae8f163d04386efc}
assignment operator


\begin{DoxyParams}{\-Parameters}
{\em v} & input vector \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_a96ed0e3cfa2e5a9985474673e4e8ac32}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E const \-T\& {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::operator\mbox{[}$\,$\mbox{]} (
\begin{DoxyParamCaption}
\item[{const size\-\_\-t}]{i}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_a96ed0e3cfa2e5a9985474673e4e8ac32}
const indexing operator


\begin{DoxyParams}{\-Parameters}
{\em i} & component index \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_a6d5b57f8fead0871a221d43d5e44f5d4}{
\index{nih\-::\-Vector@{nih\-::\-Vector}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!nih::Vector@{nih\-::\-Vector}}
\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T, size\-\_\-t \-D\-I\-M$>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \-T\& {\bf nih\-::\-Vector}$<$ \-T, \-D\-I\-M $>$\-::operator\mbox{[}$\,$\mbox{]} (
\begin{DoxyParamCaption}
\item[{const size\-\_\-t}]{i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_a6d5b57f8fead0871a221d43d5e44f5d4}
indexing operator


\begin{DoxyParams}{\-Parameters}
{\em i} & component index \\
\hline
\end{DoxyParams}


\-The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
linalg/\hyperlink{vector_8h}{vector.\-h}\end{DoxyCompactItemize}
